//创建路由对象
//引用路由器对象
const express=require('express');
//创建路由器对象
const r=express.Router();
//引入pool文件
const pool=require('../pool.js');




//管理员部分
//1.管理员注册接口(post  /reg)
//接口地址：http://127.0.0.1:8081/v1/admins/reg
r.post('/reg',(req,res,next)=>{
    //1.1获取post传递的参数(记得在app.js里写中间件)
    var obj=req.body;
    console.log(obj);


    var i=400;
    for(var k in obj){
        i++;
    //验证数据是否为空，格式是否正确
    if(obj.a_id===''){
        res.send({code:i,msg:'a_id不能为空'});
         //阻止往后执行
         return;
    }
    if(obj. admin_name===''){
        res.send({code:i,msg:'admin_name不能为空'});
         //阻止往后执行
         return;
    }
    if(obj.admin_pwd===''){
        res.send({code:i,msg:'admin_pwd不能为空'});
         //阻止往后执行
         return;
    }


}
   
    //执行sql命令
    pool.query('insert into zp_admin set?',[obj],(err,result)=>{
        if(err){
            next(err);
            return;
        }
        console.log(result);
        res.send({code:200,msg:'管理员添加成功'})
    });
   
});


//2.管理员登录接口(post /log)
r.post('/log',(req,res,next)=>{
 
    var obj=req.body;
    //console.log(obj);

    //验证数据是否为空，格式是否正确
    if(obj.admin_pwd===''){
        res.send({code:401,msg:'admin_pwd不能为空'});
         //阻止往后执行
         return;
    }
    if(obj.admin_name===''){
        res.send({code:402,msg:'admin_name不能为空'});
         //阻止往后执行
         return;
    }
    
    //1.3执行sql命令
    pool.query('select * from zp_admin  where admin_name=? and admin_pwd=?',[obj.admin_name,obj.admin_pwd],(err,result)=>{
        if(err){
            next(err);
            return;
        }
        //console.log(result);
        //console.log(result.length);
        if(result.length!==0){
            res.send({code:200,msg:'登录成功'});
          }else{
            res.send({code:500,msg:'登陆失败',data:result});
          }
    });
   
});


//3.删除管理员接口(delete /delete)
r.delete('/delete/:a_id',(req,res,next)=>{ //注意:加冒号代表uid是参数名

    pool.query('delete  from zp_admin where a_id=?',[req.params.a_id],(err,result)=>{
        //console.log(result);
        console.log(req.params.a_id)
        if(err){
        next(err);
        return;
    }
    console.log(result)
         if(result.affectedRows===0){
	  res.send({code:501,msg:'该员工不存在，删除失败'});
	}else{
	  res.send({code:200,msg:'删除成功',data:result});
	}
        
    });
});


//4.管理员查找接口( get  /info:a_id)
r.get('/info/:a_id',(req,res,next)=>{
    var obj=req.params;
    pool.query('select * from zp_admin where a_id=?',[obj.a_id],(err,result)=>{
        if(err){
            next(err);
            return;
        }
        if(result.length===0){
            res.send({code:500,msg:'查找失败'});
          }else{
            res.send({code:200,msg:'查找成功',data:result});
    }
});
});


//5.管理员修改数据接口(put  /info)
r.put('/info',(req,res,next)=>{
      var obj=req.body;
      var i=400;
for(var k in obj){
    i++;
    if(obj[k]==''){
        res.send({code:i,msg:k+'不能为空'});
        return;
    }
}
pool.query('update zp_admin set? where a_id=?',[obj,obj.a_id],(err,result)=>{
    console.log(result);
    if(err){
        next(err);
        return;
    }
    if(result.affectedRows===0){
        res.send({code:501,msg:'修改失败'});
      }else{
        res.send({code:200,msg:'修改成功',data:result});
      }
    });

});


//6.管理员发布的公告接口
r.post('/news',(req,res,next)=>{
    var obj=req.body;
    console.log(obj);
    
    var i=400;
    for(var k in obj){
        i++;
        if(obj[k]==''){
            res.send({code:i,msg:k+'不能为空'});
            return;
        }
    } 
    pool.query('insert into admin_news set?',[obj],(err,result)=>{
        if(err){
            next(err);
            return;
        }
        console.log(result);
        res.send({code:200,msg:'管理员已成功发布公告'})
    });
});


//7.管理员检索用户接口
r.get('/infouser/:uid',(req,res,next)=>{
    pool.query('select * from user_registe where uid=?',[req.params.uid],(err,result)=>{
      console.log(result);
      if(err){
          next(err);
          return;
      }
      if(result.length===0){
          res.send({code:500,msg:'查找失败'});
        }else{
          res.send({code:200,msg:'查找成功',data:result});
  }
});
});


//8.管理员删除用户
r.delete('/deleteuser/:uid',(req,res,next)=>{

    pool.query('delete  from user_registe where uid=?',[req.params.uid],(err,result)=>{
        console.log(result);
        console.log(req.params.uid)
        if(err){
        next(err);
        return;
    }
    console.log(result)
         if(result.affectedRows===0){
	  res.send({code:501,msg:'该用户不存在，删除失败'});
	}else{
	  res.send({code:200,msg:'删除成功',data:result});
	}
        
    });
});



//9.用户列表(每页显示页码条数自己输入)
r.get('/user/:ye/:tiao',(req,res,next)=>{
    console.log(req.params);//{ ye: '1', tiao: '3' }
    console.log(Number(req.params.ye.toString()));//1
    
    var obj=req.params;
     pool.query('select * from user_registe limit ?,?',[Number(obj.ye.toString()),Number(obj.tiao.toString())],(err,result)=>{
        if(err){
            next(err);
            return;
        }
        if(result.length===0){
            res.send({code:500,msg:'用户列表拉取失败'});
          }else{
            res.send({code:200,msg:'用户列表拉取成功',data:result});
    }
     });
});



//暴露路由对象
module.exports=r;